skill list/info: provenance transparency surface - #162
Conversation
Reviewer's GuideIntroduces read-only Sequence diagram for skill list provenance inspectionsequenceDiagram
participant User
participant CLI as dotagents CLI
participant Config as Config and lock files
participant Inspect as inspectAgents
participant FS as Harness skill roots
User->>CLI: runSkillList(args)
CLI->>Config: loadContext(opts)
CLI->>Config: expectedSkills(repoRoot, home, cfg)
CLI->>Inspect: inspectAgents(selected, expected, ...)
Inspect->>FS: inspect managed, stale, external, and missing entries
FS-->>Inspect: agent reports
CLI->>Config: skillOrigins(cfg, repoRoot, home, expected)
Config-->>CLI: local and owner/repo@commit origins
CLI-->>User: per-harness provenance and context estimate
Sequence diagram for skill info visibility lookupsequenceDiagram
participant User
participant CLI as dotagents CLI
participant Config as Canonical skill set
participant Inspect as inspectAgents
participant FS as Harness skill roots
User->>CLI: runSkillInfo(name)
CLI->>Config: expectedSkills(repoRoot, home, cfg)
Config-->>CLI: canonical path
CLI->>Config: skillOrigins(cfg, repoRoot, home, expected)
Config-->>CLI: local or pinned external origin
CLI->>Inspect: inspectAgents(selected, single, ...)
Inspect->>FS: check each harness
FS-->>Inspect: per-harness reports
CLI-->>User: canonical source, SKILL.md cost, and harness visibility
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Hey - I've found 1 issue
Prompt for AI Agents
Please address the comments from this code review:
## Individual Comments
### Comment 1
<location path="cmd/dotagents/skill_list.go" line_range="223-224" />
<code_context>
+// skill: where the canonical copy lives, which source pinned it, and how
+// every detected harness currently sees it.
+func runSkillInfo(args []string) error {
+ if len(args) < 1 || strings.HasPrefix(args[0], "-") {
+ return errors.New("skill info requires a skill name")
+ }
+ name := args[0]
</code_context>
<issue_to_address>
**nitpick (bug_risk):** `dotagents skill info <name> extra-argument` silently succeeds and reports the first skill because `runSkillInfo` validates only `args[0]` and ignores every remaining positional argument.
**Triggers:** When a user mistypes the command or supplies more than one skill name.
**Suggested fix:** Reject arguments after the skill name, for example by checking `len(args) > 1` after parsing flags.
</issue_to_address>Sourcery assessment
Approved.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e5e0b89e13
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…ce, surface missing config-driven integration
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 32d190bcd4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| npx skills add yourconscience/myagents -s dotagents --copy # verified: copies cleanly, no symlinks | ||
| ``` |
There was a problem hiding this comment.
Add the opening fence for the installer command
The installer command has a closing code fence but no opening fence. Markdown therefore treats this fence as the start of a code block and renders the following “Not to be confused with,” “Configuration,” and “Releases” sections as code until a later fence closes it. Add an opening fenced-code marker before the npx command so the remainder of the README renders normally.
Useful? React with 👍 / 👎.
What
New read-only skill transparency surface (no writes, reuses existing inspect reports):
dotagents skill list— per detected harness, every entry in its skill root with provenance:managed (local)/managed (external: owner/repo@commit)(fromdotagents.lock),foreign symlink(other tools' plugins),unmanaged dir,stale managed,drifted symlink -> target,broken symlink, plus the per-harness skill-listing context-cost estimate. Config-driven harnesses (Hermes/Amp) print their integration note and managed set instead of walking foreign directories.dotagents skill info <name>— canonical path + source (local vs pinned external), SKILL.md listing context estimate, and how every detected harness currently sees the skill.npx skills add yourconscience/myagents), and a "Not to be confused with" note covering npmdotagentsand@sentry/dotagents.Verification
go build,go vet, focused tests (skill_list_test.go: owner/repo parsing, lock+config origins, provenance classification incl. foreign/broken/unmanaged/drifted, info arg validation) — pass.go test ./...— pass.dotagents dogfood— 14/15 pass; the one failure (agnix on the myagentsAGENTS.md:92) is pre-existing in the live config root and unrelated to this change.skill listandskill infoagainst the live five-harness setup: managed/external/foreign classification matches the actual symlink layout.--copy.Summary by Sourcery
Expose read-only skill provenance and cross-harness visibility inspection through new list and info commands.
New Features:
dotagents skill listreporting per-harness skill entries, provenance, integration status, and context-cost estimates.dotagents skill info <name>to show canonical skill source, listing cost, and visibility across detected harnesses.Enhancements:
Documentation:
Tests: